// 使用JS提供Stream流操作，将http.rar文件复制一份http2.rar

// 1. 导入文件系统模块
const fs  = require("fs");
// 2. 创建可读取的文件流
const rs = fs.createReadStream("./http.rar");
// 3. 创建可写入的文件流
const ws = fs.createWriteStream("./http2.rar");
// 4. 使用管道pipe()将文件的读流和写入流连到一起，并执行传输。
rs.pipe(ws);

// 计算此文件一共会读取多少次
let total = Math.ceil(fs.statSync("./http.rar").size/65486);
let m = 0
// 为当前流操作添加事件监听
// 每次文件读取64kb大小，每次都会触发下面的data事件执行
rs.on("data", bs => {
    m++;
    console.log("已读取：" + m + "/" + total);
});

// 读取文件结束的事件监听
rs.on("end", () => {
    console.log("文件拷贝完成！");
});


